import { _decorator, AudioClip, AudioSource, Component, Node, resources, Sprite, SpriteAtlas } from 'cc';
const { ccclass, property } = _decorator;

@ccclass('Music')
export class Music extends Component {
    // 音量图片
    @property(Sprite) volume!:Sprite;
    // 音乐
    @property(AudioSource) _audioSource?:AudioSource;
    @property(AudioClip) beginAudio!:AudioClip;//开始游戏
    @property(AudioClip) clickAudio!:AudioClip;//键盘敲击
    @property(AudioClip) eatScoreAudio!:AudioClip;//得分
    @property(AudioClip) loseAudio!:AudioClip;//结束
    @property(AudioClip) moveAudio!:AudioClip;//移动
    @property(AudioClip) rotateAudio!:AudioClip;//旋转
    @property(AudioClip) startAudio!:AudioClip;//开始
    // 音乐播放案件
    private musicSwitch:boolean = true;

    start(): void {
        // 获取AudioSource组件
        const audioSource = this.node.getComponent(AudioSource);
        // 播放开始音乐
        this._audioSource = audioSource;//将组件赋到全局变量_audioSource中
    }

    // 音乐按键
    music(){
        if (this.musicSwitch) {
            
            this._audioSource.pause();//暂停音乐
            resources.load("./images/images",SpriteAtlas,(err,SpriteAtlas)=>{
                const frame = SpriteAtlas.getSpriteFrame("soundoff");
                this.volume.getComponent(Sprite).spriteFrame = frame;
            });
            console.log("关啦");
            this.musicSwitch = false;
        }else{
            this._audioSource.play();//播放
            resources.load("./images/images",SpriteAtlas,(err,SpriteAtlas)=>{
                const frame = SpriteAtlas.getSpriteFrame("soundon");
                this.volume.getComponent(Sprite).spriteFrame = frame;
            });
            console.log("开啦");
            this.musicSwitch = true;
        }
    }
}


